package com.definity.toolkit.security;

import java.io.Serializable;
import java.util.List;

import com.definity.toolkit.service.Service;

public interface SecurityService<U extends UserDomain<? extends Serializable>, R extends RoleDomain> extends Service {

	U createUser();
	
	void save(U user);
	
	void delete(U user);
	
	void changePassword(String oldPassword, String newPassword);
	
	U load(String login, String password);

	List<R> listRoles();

	List<U> listUsers();
	
}
